package com.google.zxing.datamatrix.decoder; class Decoder { void a() { int a;
a=0;// .class public final Lcom/google/zxing/datamatrix/decoder/Decoder;
a=0;// .super Ljava/lang/Object;
a=0;// 
a=0;// 
a=0;// # instance fields
a=0;// .field private final rsDecoder:Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;
a=0;// 
a=0;// 
a=0;// # direct methods
a=0;// .method public constructor <init>()V
a=0;//     .locals 2
a=0;// 
a=0;//     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
a=0;// 
a=0;//     #p0=(Reference,Lcom/google/zxing/datamatrix/decoder/Decoder;);
a=0;//     new-instance v0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;);
a=0;//     sget-object v1, Lcom/google/zxing/common/reedsolomon/GF256;->DATA_MATRIX_FIELD:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;-><init>(Lcom/google/zxing/common/reedsolomon/GF256;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;);
a=0;//     iput-object v0, p0, Lcom/google/zxing/datamatrix/decoder/Decoder;->rsDecoder:Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method private correctErrors([BI)V
a=0;//     .locals 5
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     array-length v2, p1
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     new-array v3, v2, [I
a=0;// 
a=0;//     #v3=(Reference,[I);
a=0;//     move v1, v0
a=0;// 
a=0;//     :goto_0
a=0;//     #v1=(Integer);v4=(Conflicted);
a=0;//     if-ge v1, v2, :cond_0
a=0;// 
a=0;//     aget-byte v4, p1, v1
a=0;// 
a=0;//     #v4=(Byte);
a=0;//     and-int/lit16 v4, v4, 0xff
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     aput v4, v3, v1
a=0;// 
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     #v4=(Conflicted);
a=0;//     array-length v1, p1
a=0;// 
a=0;//     sub-int/2addr v1, p2
a=0;// 
a=0;//     :try_start_0
a=0;//     iget-object v2, p0, Lcom/google/zxing/datamatrix/decoder/Decoder;->rsDecoder:Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;);
a=0;//     invoke-virtual {v2, v3, v1}, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->decode([II)V
a=0;//     :try_end_0
a=0;//     .catch Lcom/google/zxing/common/reedsolomon/ReedSolomonException; {:try_start_0 .. :try_end_0} :catch_0
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);
a=0;//     if-ge v0, p2, :cond_1
a=0;// 
a=0;//     aget v1, v3, v0
a=0;// 
a=0;//     int-to-byte v1, v1
a=0;// 
a=0;//     #v1=(Byte);
a=0;//     aput-byte v1, p1, v0
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :catch_0
a=0;//     #v0=(Null);v1=(Integer);v2=(Conflicted);
a=0;//     move-exception v0
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonException;);
a=0;//     invoke-static {}, Lcom/google/zxing/ReaderException;->getInstance()Lcom/google/zxing/ReaderException;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     throw v0
a=0;// 
a=0;//     :cond_1
a=0;//     #v0=(Integer);v2=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// 
a=0;// # virtual methods
a=0;// .method public final decode(Lcom/google/zxing/common/BitMatrix;)Lcom/google/zxing/common/DecoderResult;
a=0;//     .locals 10
a=0;// 
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     new-instance v0, Lcom/google/zxing/datamatrix/decoder/BitMatrixParser;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/datamatrix/decoder/BitMatrixParser;);
a=0;//     invoke-direct {v0, p1}, Lcom/google/zxing/datamatrix/decoder/BitMatrixParser;-><init>(Lcom/google/zxing/common/BitMatrix;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/datamatrix/decoder/BitMatrixParser;);
a=0;//     invoke-virtual {v0, p1}, Lcom/google/zxing/datamatrix/decoder/BitMatrixParser;->readVersion(Lcom/google/zxing/common/BitMatrix;)Lcom/google/zxing/datamatrix/decoder/Version;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/datamatrix/decoder/Version;);
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/datamatrix/decoder/BitMatrixParser;->readCodewords()[B
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     invoke-static {v0, v2}, Lcom/google/zxing/datamatrix/decoder/DataBlock;->getDataBlocks([BLcom/google/zxing/datamatrix/decoder/Version;)[Lcom/google/zxing/datamatrix/decoder/DataBlock;
a=0;// 
a=0;//     move-result-object v5
a=0;// 
a=0;//     #v5=(Reference,[Lcom/google/zxing/datamatrix/decoder/DataBlock;);
a=0;//     move v0, v1
a=0;// 
a=0;//     #v0=(Null);
a=0;//     move v2, v1
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v2=(Integer);v3=(Conflicted);
a=0;//     array-length v3, v5
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     if-ge v0, v3, :cond_0
a=0;// 
a=0;//     aget-object v3, v5, v0
a=0;// 
a=0;//     #v3=(Null);
a=0;//     invoke-virtual {v3}, Lcom/google/zxing/datamatrix/decoder/DataBlock;->getNumDataCodewords()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     add-int/2addr v2, v3
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     new-array v6, v2, [B
a=0;// 
a=0;//     #v6=(Reference,[B);
a=0;//     move v0, v1
a=0;// 
a=0;//     #v0=(Null);
a=0;//     move v2, v1
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);v4=(Conflicted);v7=(Conflicted);v8=(Conflicted);v9=(Conflicted);
a=0;//     array-length v3, v5
a=0;// 
a=0;//     if-ge v0, v3, :cond_2
a=0;// 
a=0;//     aget-object v3, v5, v0
a=0;// 
a=0;//     #v3=(Null);
a=0;//     invoke-virtual {v3}, Lcom/google/zxing/datamatrix/decoder/DataBlock;->getCodewords()[B
a=0;// 
a=0;//     move-result-object v7
a=0;// 
a=0;//     #v7=(Reference,[B);
a=0;//     invoke-virtual {v3}, Lcom/google/zxing/datamatrix/decoder/DataBlock;->getNumDataCodewords()I
a=0;// 
a=0;//     move-result v8
a=0;// 
a=0;//     #v8=(Integer);
a=0;//     invoke-direct {p0, v7, v8}, Lcom/google/zxing/datamatrix/decoder/Decoder;->correctErrors([BI)V
a=0;// 
a=0;//     move v3, v1
a=0;// 
a=0;//     :goto_2
a=0;//     #v3=(Integer);
a=0;//     if-ge v3, v8, :cond_1
a=0;// 
a=0;//     add-int/lit8 v4, v2, 0x1
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     aget-byte v9, v7, v3
a=0;// 
a=0;//     #v9=(Byte);
a=0;//     aput-byte v9, v6, v2
a=0;// 
a=0;//     add-int/lit8 v2, v3, 0x1
a=0;// 
a=0;//     move v3, v2
a=0;// 
a=0;//     move v2, v4
a=0;// 
a=0;//     goto :goto_2
a=0;// 
a=0;//     :cond_1
a=0;//     #v4=(Conflicted);v9=(Conflicted);
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_2
a=0;//     #v7=(Conflicted);v8=(Conflicted);
a=0;//     invoke-static {v6}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->decode([B)Lcom/google/zxing/common/DecoderResult;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/DecoderResult;);
a=0;//     return-object v0
a=0;// .end method
a=0;// 
a=0;// .method public final decode([[Z)Lcom/google/zxing/common/DecoderResult;
a=0;//     .locals 6
a=0;// 
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     array-length v3, p1
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     new-instance v4, Lcom/google/zxing/common/BitMatrix;
a=0;// 
a=0;//     #v4=(UninitRef,Lcom/google/zxing/common/BitMatrix;);
a=0;//     invoke-direct {v4, v3}, Lcom/google/zxing/common/BitMatrix;-><init>(I)V
a=0;// 
a=0;//     #v4=(Reference,Lcom/google/zxing/common/BitMatrix;);
a=0;//     move v2, v1
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Conflicted);v2=(Integer);v5=(Conflicted);
a=0;//     if-ge v2, v3, :cond_2
a=0;// 
a=0;//     move v0, v1
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);
a=0;//     if-ge v0, v3, :cond_1
a=0;// 
a=0;//     aget-object v5, p1, v2
a=0;// 
a=0;//     #v5=(Null);
a=0;//     aget-boolean v5, v5, v0
a=0;// 
a=0;//     #v5=(Boolean);
a=0;//     if-eqz v5, :cond_0
a=0;// 
a=0;//     invoke-virtual {v4, v0, v2}, Lcom/google/zxing/common/BitMatrix;->set(II)V
a=0;// 
a=0;//     :cond_0
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_1
a=0;//     #v5=(Conflicted);
a=0;//     add-int/lit8 v0, v2, 0x1
a=0;// 
a=0;//     move v2, v0
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_2
a=0;//     #v0=(Conflicted);
a=0;//     invoke-virtual {p0, v4}, Lcom/google/zxing/datamatrix/decoder/Decoder;->decode(Lcom/google/zxing/common/BitMatrix;)Lcom/google/zxing/common/DecoderResult;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/DecoderResult;);
a=0;//     return-object v0
a=0;// .end method
}}
